﻿using System;
using System.Collections.Generic;

namespace EmailManagementSoftware.Model.DAO.Interfaces
{
    public interface IAppDAO
    {
        User getUser(String username, String password);
        EmailCredentials getEmailCredentials(int idUser);
        void insertEmailCredentials(int idUser, string emailAddress, string password, string smtpServer, int port);
        void updateEmailCredentials(int idUser, string emailAddress, string password, string smtpServer, int port);
        IList<EmailMessage> getEmailMessages(int idUser);
        EmailMessage getTheLastRecord();
        void insertEmailMessage(int idUser, string emailSubject, string recipient, string emailBody);
        void updateEmailMessage(string emailSubject, string recipient, string emailBody, int idEmailMessage);
        void deleteEmailMessage(int idEmailMessage);
        IList<EmailAttachement> getEmailAttachements(int idEmailMessage);
        void insertEmailAttachements(int idEmailMessage, IList<EmailAttachement> emailAttachements);
        void deleteEmailAttachement(int idEmailAttachement);
        void deleteAllEmailAttachements(int idEmailMessage);
    }
}